﻿Imports System.Collections.Generic
Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Imports CondorTravelUTIL.DL
Public Class SolicitudPaquete2

    Inherits PaginaBase


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then

            txtInicio.Text = "" : txtFin.Text = ""
            CargarEstado()
            ListarSolicitudPaquetes()

            Dim strRol As String = CType(Session("usuario"), UsuariosBE).Rol

            txtInicio.Attributes.Add("readonly", "readonly")
            txtFin.Attributes.Add("readonly", "readonly")
           
            cle1.StartDate = New Date(2000, 1, 1)
            cle2.StartDate = New Date(2000, 1, 1)

            If strRol = "JFCOM" Then
                dgSolicitudPaquete.Columns(10).Visible = False
            ElseIf strRol = "JFPRO" Then
                dgSolicitudPaquete.Columns(9).Visible = False
                dgSolicitudPaquete.Columns(11).Visible = False
            End If

        End If
    End Sub

    Private Sub ListarSolicitudPaquetes()
        Dim objSolicitudPaqueteBE As New SolicitudPaqueteBE
        Dim objUtil As New Funciones
        If txtDesPaquete.Text.Trim <> "" Then
            objSolicitudPaqueteBE.NombrePaquete = objUtil.ReemplazarTexto(txtDesPaquete.Text.Trim)
        Else
            objSolicitudPaqueteBE.NombrePaquete = ""
        End If

        If txtDesServicio.Text.Trim <> "" Then
            objSolicitudPaqueteBE.Servicios = objUtil.ReemplazarTexto(txtDesServicio.Text.Trim)
        Else
            objSolicitudPaqueteBE.Servicios = ""
        End If

        If txtDesProveedor.Text.Trim <> "" Then
            objSolicitudPaqueteBE.Proveedor = objUtil.ReemplazarTexto(txtDesProveedor.Text.Trim)
        Else
            objSolicitudPaqueteBE.Proveedor = ""
        End If

        'If cboEstado.SelectedValue.Trim <> "0" Then
        '    objSolicitudPaqueteBE.Estado = cboEstado.SelectedValue
        'Else
        objSolicitudPaqueteBE.Estado = "P"
        'End If

        If txtInicio.Text.Trim <> "" Then
            objSolicitudPaqueteBE.FechaInicio = objUtil.ReemplazarTexto(txtInicio.Text.Trim)
        Else
            objSolicitudPaqueteBE.FechaInicio = ""
        End If
        If txtFin.Text.Trim <> "" Then
            objSolicitudPaqueteBE.FechaFin = objUtil.ReemplazarTexto(txtFin.Text.Trim)
        Else
            objSolicitudPaqueteBE.FechaFin = ""
        End If
        Dim objSolicitudPaquete As New SolicitudPaqueteBC
        dgSolicitudPaquete.DataSource = objSolicitudPaquete.ListarSolicitudPaquete(objSolicitudPaqueteBE)
        dgSolicitudPaquete.DataBind()
        If dgSolicitudPaquete.Rows.Count <= 0 Then
            lblError.Visible = True
        Else
            lblError.Visible = False
        End If
    End Sub

    Public Sub CargarEstado()

        Dim listEstadoBE As List(Of EstadoDocBE) = New List(Of EstadoDocBE)
        Dim objEstadoBC As EstadoDocBC = New EstadoDocBC()

        Dim objEstadoSeleccione As EstadoDocBE = New EstadoDocBE
        objEstadoSeleccione.Codigo = 0
        objEstadoSeleccione.Descripcion = "[Seleccione]"
        listEstadoBE.Add(objEstadoSeleccione)


        objEstadoSeleccione.Tipo = "S"
        listEstadoBE.AddRange(objEstadoBC.EstadoListar(objEstadoSeleccione))

        cboEstado.DataSource = listEstadoBE
        cboEstado.DataValueField = "Codigo"
        cboEstado.DataTextField = "Descripcion"
        cboEstado.SelectedValue = "P"
        cboEstado.DataBind()

    End Sub
    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click
        Session("TipoEventoSP") = 0
        Response.Redirect("NuevaSolicitudPaquete2.aspx", True)
    End Sub

    Protected Sub btnConsultar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar.Click
        'validamos que fechas esten dentro de rango
        If txtInicio.Text.Length > 0 And txtFin.Text.Length > 0 Then
            If CDate(txtFin.Text) < CDate(txtInicio.Text) Then
                Alerta("La fecha final no debe ser menor que la fecha inicial", False, String.Empty)
                Exit Sub
            End If
        End If
        ListarSolicitudPaquetes()
    End Sub

    Private Sub dgSolicitudPaquete_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgSolicitudPaquete.RowCommand
        Dim intCodigo As Integer = Convert.ToInt32(e.CommandArgument)
        'Dim bExito As Boolean
        Dim sMensaje As String = String.Empty

        Select Case e.CommandName  '.ToLower
            Case "Editar"
                Session("TipoEventoSP") = 1 ' modificar
                Session("CodigoSolicitudSP") = intCodigo
                Response.Redirect("NuevaSolicitudPaquete2.aspx", True)
            Case "Evaluar"
                Session("TipoEventoSP") = 2 ' evaluar
                Session("CodigoSolicitudSP") = intCodigo
                Response.Redirect("EvaluarSolicitudPaquete2.aspx", True)
            Case "Eliminar"
                'Verifica si se debe o no eliminar el registro
                Dim objSolicitudPaquete As New SolicitudPaqueteBE
                objSolicitudPaquete.CodSolicitud = intCodigo
                Dim objSolicitudPaqueteBC As New SolicitudPaqueteBC
                Dim intRpta As Integer = 0

                objSolicitudPaqueteBC.EliminarSolicitudPaquete(objSolicitudPaquete)
                ListarSolicitudPaquetes()

        End Select
    End Sub

End Class